package net.chowda.castcluster;

import java.util.Date;

/**
 * this is the generic video item that is currently returned from all providers
 */
public class CastVideoItem implements Video {
    private long lengthInSeconds;

    private Date timeUploaded;

    private String id;
    private String author;
    private String title;
    private String description;
    private String thumbnailUrl;
    private String url;
    private String vidType;
    private long vidSize;
    private boolean isAvailable = true;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public long getLengthInSeconds() {
        return lengthInSeconds;
    }

    public void setLengthInSeconds(int lengthInSeconds) {
        this.lengthInSeconds = lengthInSeconds;
    }

    public String getThumbnailUrl() {
        return thumbnailUrl;
    }

    public void setThumbnailUrl(String thumbnailUrl) {
        this.thumbnailUrl = thumbnailUrl;
    }

    public String getUrl() {
        return url;
    }

    public long getVidSize() {
        return vidSize;
    }

    public void setVidType(String vidType) {
        this.vidType = vidType;
    }

    public void setVidSize(long vidSize) {
        this.vidSize = vidSize;
    }

    public String getVidType() {
        return vidType;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public Date getTimeUploaded() {
        return timeUploaded;
    }

    public void setTimeUploaded(Date timeUploaded) {
        this.timeUploaded = timeUploaded;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public boolean isAvailable() {
        return isAvailable;
    }

    public void setAvailable(boolean available) {
        isAvailable = available;
    }

    public String toString() {
        return "id: " + this.getId() + "\n"
                        + "url: " + this.getUrl() + "\n"
                        + "title: " + this.getTitle() + "\n"
                        + "desc: " + this.getDescription() + "\n"
                        + "author: " + this.getAuthor() + "\n"
                        + "uploaded: " + this.getTimeUploaded() + "\n"
                        + "type: " + this.getVidType() + "\n"
                        + "thumbnail: " + this.getThumbnailUrl() + "\n";
    }
}
